<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 形式上 就是自己调用自己
        // 作用上 递归思想可以帮助我们解决一些特定的问题
        // 演示的递归过程
        // pow(2,4)===>pow(2,3)*2==>pow(2,2)*2*2===> pow(2,1)*2 *2*2===> 2*2 *2*2
        // 所以说递归一定要有 跳出条件(停止条件)


        // function say() {
        //     alert("hello");
        //     say();
        // }
        // say();// 无线循环了


        // 迭代思路 求 x的n次方
        function jc(x, n) {
            var res = 1;
            for (var i = 1; i <= n; i++) {
                res = res * x;
            }
            return res;
        }
        console.log(jc(2, 5));


        // 递归思路 求 x的n次方
        function jc1(x, n) {
            if (n == 1) {
                return x;
            } else {
                return jc1(x, n - 1) * x;
            }
        }
        console.log(jc1(2, 5));
    </script>
</body>

</html>